package com.lightningtrade.service;

import com.lightningtrade.domain.SysUser;

/**
 * 用户管理服务接口
 * 该接口定义了用户注册、登录、信息更新、角色更新、用户注销、密码找回等操作。
 */
public interface SysUserService {

    /**
     * 用户注册
     * @param sysUser 用户信息
     * @return 注册操作的结果，成功返回 1，失败返回 0
     */
    int register(SysUser sysUser);

    /**
     * 更新用户信息
     * @param sysUser 用户信息
     * @return 更新操作的结果，成功返回 1，失败返回 0
     */
    int updateUserInfo(SysUser sysUser);

    /**
     * 更新用户角色
     * @param uid 用户ID
     * @param role 新角色
     * @return 更新操作的结果，成功返回 1，失败返回 0
     */
    int updateUserRole(Integer uid, String role);

    /**
     * 注销用户
     * @param uid 用户ID
     * @return 注销操作的结果，成功返回 1，失败返回 0
     */
    int deleteUser(Integer uid);

    /**
     * 找回密码
     * @param phone 用户手机
     * @param newPassword 新密码
     * @return 密码更新操作的结果，成功返回 1，失败返回 0
     */
    int recoverPassword(String phone, String oldPassword, String newPassword);

    SysUser getUserByUid(String username);
}
